package pe.edu.upc.dew.pharma.dao.mapper;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;

import pe.edu.upc.dew.pharma.model.Categoria;
import pe.edu.upc.dew.pharma.model.Producto;

public class ProductoMapper implements ParameterizedRowMapper<Producto> {

	private static final Log logger = LogFactory.getLog(ProductoMapper.class);
	
	public Producto mapRow(ResultSet rs, int rowNum) throws SQLException {
		Producto producto = new Producto();
		producto.setIdProducto(rs.getString("Id_Producto"));
		producto.setNombre(rs.getString("varNomProd"));
		producto.setDescripcion(rs.getString("varDesProd"));
		producto.setPrecio(rs.getDouble("dblPrecioProd"));
		producto.setStock(rs.getInt("dblStockProd"));
		//producto.setImagProducto(rs.getString("varImagProd"));
		
		producto.setCategoria(new Categoria());
		producto.getCategoria().setIdCategoria(rs.getString("Id_Categoria"));
		producto.setStockReservado(rs.getInt("dblStockReser"));
		producto.setStockMinimo(rs.getInt("dblStockMin"));
		//producto.setProveedor(new Proveedor());
		//producto.getProveedor().setIdProveedor(rs.getInt("Id_Proveedor"));
		try{
			producto.setSolicitado(rs.getBoolean("bitSolicitado"));
		}catch (SQLException e) {
			if(logger.isInfoEnabled())
			{
				logger.info("[Pharma] Error Controlado: " + e.getMessage() );
			}
		}
		return producto;
	}

}
